#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QColorDialog>
#include <QDebug>
#include <QFontDialog>
#include <QFileDialog>
#include <QFont>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

//弹出颜色对话框
void MainWindow::on_pushButton_clicked()
{
    //知识点1：弹出颜色对话框
    QColor mycolor=QColorDialog::getColor(QColor(255,0,0),this,"我的颜色对话框");

    //知识点2：判断用户点击的究竟是ok还是cancel
    if(mycolor.isValid())
    {
        qDebug()<<"用户点击了ok按钮，选中了该颜色";
        //使用选中的颜色，把按钮的背景色设置成该颜色
        QString cmd=QString("background-color:rgb(%1,%2,%3);").arg(mycolor.red()).arg(mycolor.green()).arg(mycolor.blue());
        ui->pushButton->setStyleSheet(cmd);
    }
    else
    {
        qDebug()<<"用户点击了cancel按钮，没有选中该颜色";
    }
}
//弹出字体对话框
void MainWindow::on_pushButton_2_clicked()
{
    bool ok;
    //知识点1：弹出字体对话框
    QFont myfont=QFontDialog::getFont(&ok,this);
    //知识点2：判断用户点击的究竟是ok还是cancel
    if(ok)
    {
        qDebug()<<"用户点击了ok按钮，选中了该字体";
        //打印字体的名字
        qDebug()<<"字体的名字: "<<myfont.family();
        //打印字体的大小
        qDebug()<<"字体的大小: "<<myfont.pointSize();
        ui->pushButton_2->setFont(myfont);
        ui->pushButton->setFont(myfont);
    }
    else
    {
        qDebug()<<"用户点击了cancel按钮，没有选中该字体";
    }
}
// 弹出文件对话框
void MainWindow::on_pushButton_3_clicked()
{
    //第三个参数：表示你要打开哪个文件夹--》你不传递默认打开的是编译产生的临时文件build开头的文件夹
    //QFileDialog::getOpenFileName(this,"我的文件对话框");

    QString filepath=QFileDialog::getOpenFileName(this,"我的文件对话框","C:/Users/Administrator/Desktop/share/test","*.txt *.jpg");
    qDebug()<<"你选中的文件路径名是: "<<filepath;
}
